package com.hq.door.service;

import java.util.List;
import java.util.Map;

import com.hq.door.dto.DClass;
import com.hq.door.dto.OutrequestInfo;
import com.hq.door.dto.Pagination;
import com.hq.door.dto.Parent;
import com.hq.door.dto.ParentApplyFront;
import com.hq.door.dto.ParentRecordFront;
import com.hq.door.dto.StudentInfo;
import com.hq.door.dto.Teacher;
import com.hq.door.pojo.TParent;
import com.hq.door.pojo.TTeacher;

public interface TTeacherService extends IBaseService<TTeacher> {

	/**
	 * 前台教师端 登录检查
	 */
	public TTeacher check(String userName,String password);
	/**
	 * 前台教师端 微信登录
	 * @param wexinId
	 * @return
	 */
	public TTeacher wxLogin(String wexinId);
	/**
	 * 修改一条教师信息
	 * 添加微信id
	 * @param weixinId2 
	 */
	public TTeacher modifyTeacher(String name,String password, String weixinId);
	/**
	 * 根据教师查询 对应学生的刷卡记录
	 * @param paf
	 * @return
	 */
	public Pagination queryRecordsByTeacher(TTeacher tTeacher,ParentRecordFront prf);
	/**
	 * 根据条件查询所有学生的申请记录
	 * 0 代表无条件查询
	 * 1 代表按学院查询
	 * 2 代表按专业查询
	 * 3 代表按年级查询
	 * 4 代表按班级查询
	 * @param para
	 * 查询条件的值
	 * @param pageStart
	 * @param pageSize
	 * @return
	 * 返回一个学生信息dto的list对象
	 * @param pid
	 * 当前页pid.pageNo
	 * 每页大小pid.pageSize
	 * @return
	 */
	public Pagination queryAllApplys(int type,String[] para,int pageSize,int pageNo);
	/**
	 * 根据教师查询 对应学生的申请记录
	 * @param pid
	 * @return
	 */
	public Pagination queryApplysByTeacher(TTeacher tTeacher,ParentApplyFront paf);
	
	/**
	 * 批量添加教师信息
	 * @param list
	 * @return
	 */
	public String addTeacherList(List<Map<String,String>> list);
	public Pagination getByPage(int type, String para, int pageStart,int pageSize);
	public boolean deleteselect(int[] id);
	public boolean updateselect(Teacher teacher);
	public int getCount(int type, String para);
	
	public List<String> getTeacher();
	public int updateApproveList(List<OutrequestInfo> infos);
	public Pagination getCurTeaStus(TTeacher tTeacher, Integer pageNo, Integer pageSize);
	public int saveReplaceList(List<OutrequestInfo> infos, TTeacher tTeacher);
	public OutrequestInfo getOneApply(Integer id);

	public int updateTeaPassWord(String account, String passWord);

	public int modifyTeacherInfo(TTeacher tt);
	public boolean checkRepeatOfTeacherAccount(TTeacher tt);

}
